On the Expressive Power of the Object Constraint Language OCL
نویسنده
چکیده
The Object Constraint Language (OCL) has been introduced by IBM for business modelling and adopted by UML as a mean to specify invariants of classes and types in a class model, to specify type invariant of stereotypes, to describe pre-and postconditions on operations and methods, to describe guards, and also as a navigation language. OCL is a language of typed expressions, where an expression can be universally and existentially quantiied. This paper aims at examining the expressive power of OCL in terms of navigability and computability. First the expressive power of OCL is compared with the relational calculus, and it is showed that OCL is not equivalent to the relational calculus. Then it is studied if the transitive closure of a binary relation is expressible in OCL, showing how it is coded. Finally the equivalence of OCL with a Turing machine is pondered.
منابع مشابه
The Definition of Transitive Closure with OCL
The Object Constraint Language (OCL) is based on firstorder logic and set theory. As the most well-known application, OCL is used to formulate well-formedness rules in the UML metamodel. Here, the transitive closure of a relationship is defined in terms of an OCL invariant, which seems to contradict classical results on the expressive power of first-order logic. In this paper, we give sufficien...
متن کاملPrecise Modeling and Verification of Topological Integrity Constraints in Spatial Databases: From an Expressive Power Study to Code Generation Principles
Recent works underline that the integration of topological relationships into the Object Constraint Language (OCL) is an important field of investigation. The final goal is to provide an expressive language adapted to precisely model alphanumerical and topological constraints. In order to reach this goal, the present paper focuses on the integration of the 9 Intersection Method (9IM) into OCL. ...
متن کاملExtending OCL to Better Express UML Qualified Associations
—A qualified association in the Unified Modeling Language (UML) is an association that allows one to restrict the objects referred in an association using a key called a qualifier. A qualified association can appear in a constraint written in the Object Constraint Language (OCL) to specify a precise UML model. However, the OCL notation fails to provide appropriate support for expressing certain...
متن کاملOn Querying UML Data Models with OCL
UML is the de-facto standard language for Object-Oriented analysis and design of information systems. Persistent storage and extraction of data in such systems is supported by databases and query languages. UML sustains many aspects of software engineering; however, it does not provide explicit facility for writing queries. It is crucial for any such query language to have, at least, the expres...
متن کاملDerived Classes as a basis for Views in UML/OCL Data Models
UML is the de facto standard language for analysis and design in object-oriented frameworks. Information systems, and in particular information systems based on databases and their applications, rely heavily on sound principles of analysis and design. Many present-day database applications employ object-oriented principles in the phases of analysis and design due to the advantages of expressive...
متن کامل